/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.quality4spl.fm.cvm;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Deviation Attribute Set</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowChangeName <em>Allow Change Name</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowChangeDesc <em>Allow Change Desc</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowChangeParam <em>Allow Change Param</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowChangeCard <em>Allow Change Card</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowRemoval <em>Allow Removal</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowMove <em>Allow Move</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowRefinement <em>Allow Refinement</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowReduction <em>Allow Reduction</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowRegrouping <em>Allow Regrouping</em>}</li>
 *   <li>{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowReordering <em>Allow Reordering</em>}</li>
 * </ul>
 * </p>
 *
 * @see org.quality4spl.fm.cvm.CvmPackage#getDeviationAttributeSet()
 * @model
 * @generated
 */
public interface DeviationAttributeSet extends CVMElement {
	/**
	 * Returns the value of the '<em><b>Allow Change Name</b></em>' attribute.
	 * The default value is <code>"YES"</code>.
	 * The literals are from the enumeration {@link org.quality4spl.fm.cvm.DeviationPermission}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Allow Change Name</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Allow Change Name</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #setAllowChangeName(DeviationPermission)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getDeviationAttributeSet_AllowChangeName()
	 * @model default="YES"
	 * @generated
	 */
	DeviationPermission getAllowChangeName();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowChangeName <em>Allow Change Name</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Allow Change Name</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #getAllowChangeName()
	 * @generated
	 */
	void setAllowChangeName(DeviationPermission value);

	/**
	 * Returns the value of the '<em><b>Allow Change Desc</b></em>' attribute.
	 * The default value is <code>"YES"</code>.
	 * The literals are from the enumeration {@link org.quality4spl.fm.cvm.DeviationPermission}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Allow Change Desc</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Allow Change Desc</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #setAllowChangeDesc(DeviationPermission)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getDeviationAttributeSet_AllowChangeDesc()
	 * @model default="YES"
	 * @generated
	 */
	DeviationPermission getAllowChangeDesc();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowChangeDesc <em>Allow Change Desc</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Allow Change Desc</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #getAllowChangeDesc()
	 * @generated
	 */
	void setAllowChangeDesc(DeviationPermission value);

	/**
	 * Returns the value of the '<em><b>Allow Change Param</b></em>' attribute.
	 * The default value is <code>"YES"</code>.
	 * The literals are from the enumeration {@link org.quality4spl.fm.cvm.DeviationPermission}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Allow Change Param</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Allow Change Param</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #setAllowChangeParam(DeviationPermission)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getDeviationAttributeSet_AllowChangeParam()
	 * @model default="YES"
	 * @generated
	 */
	DeviationPermission getAllowChangeParam();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowChangeParam <em>Allow Change Param</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Allow Change Param</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #getAllowChangeParam()
	 * @generated
	 */
	void setAllowChangeParam(DeviationPermission value);

	/**
	 * Returns the value of the '<em><b>Allow Change Card</b></em>' attribute.
	 * The default value is <code>"YES"</code>.
	 * The literals are from the enumeration {@link org.quality4spl.fm.cvm.DeviationPermission}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Allow Change Card</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Allow Change Card</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #setAllowChangeCard(DeviationPermission)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getDeviationAttributeSet_AllowChangeCard()
	 * @model default="YES"
	 * @generated
	 */
	DeviationPermission getAllowChangeCard();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowChangeCard <em>Allow Change Card</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Allow Change Card</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #getAllowChangeCard()
	 * @generated
	 */
	void setAllowChangeCard(DeviationPermission value);

	/**
	 * Returns the value of the '<em><b>Allow Removal</b></em>' attribute.
	 * The default value is <code>"YES"</code>.
	 * The literals are from the enumeration {@link org.quality4spl.fm.cvm.DeviationPermission}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Allow Removal</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Allow Removal</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #setAllowRemoval(DeviationPermission)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getDeviationAttributeSet_AllowRemoval()
	 * @model default="YES"
	 * @generated
	 */
	DeviationPermission getAllowRemoval();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowRemoval <em>Allow Removal</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Allow Removal</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #getAllowRemoval()
	 * @generated
	 */
	void setAllowRemoval(DeviationPermission value);

	/**
	 * Returns the value of the '<em><b>Allow Move</b></em>' attribute.
	 * The default value is <code>"YES"</code>.
	 * The literals are from the enumeration {@link org.quality4spl.fm.cvm.DeviationPermission}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Allow Move</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Allow Move</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #setAllowMove(DeviationPermission)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getDeviationAttributeSet_AllowMove()
	 * @model default="YES"
	 * @generated
	 */
	DeviationPermission getAllowMove();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowMove <em>Allow Move</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Allow Move</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #getAllowMove()
	 * @generated
	 */
	void setAllowMove(DeviationPermission value);

	/**
	 * Returns the value of the '<em><b>Allow Refinement</b></em>' attribute.
	 * The default value is <code>"YES"</code>.
	 * The literals are from the enumeration {@link org.quality4spl.fm.cvm.DeviationPermission}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Allow Refinement</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Allow Refinement</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #setAllowRefinement(DeviationPermission)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getDeviationAttributeSet_AllowRefinement()
	 * @model default="YES"
	 * @generated
	 */
	DeviationPermission getAllowRefinement();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowRefinement <em>Allow Refinement</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Allow Refinement</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #getAllowRefinement()
	 * @generated
	 */
	void setAllowRefinement(DeviationPermission value);

	/**
	 * Returns the value of the '<em><b>Allow Reduction</b></em>' attribute.
	 * The default value is <code>"YES"</code>.
	 * The literals are from the enumeration {@link org.quality4spl.fm.cvm.DeviationPermission}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Allow Reduction</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Allow Reduction</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #setAllowReduction(DeviationPermission)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getDeviationAttributeSet_AllowReduction()
	 * @model default="YES"
	 * @generated
	 */
	DeviationPermission getAllowReduction();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowReduction <em>Allow Reduction</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Allow Reduction</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #getAllowReduction()
	 * @generated
	 */
	void setAllowReduction(DeviationPermission value);

	/**
	 * Returns the value of the '<em><b>Allow Regrouping</b></em>' attribute.
	 * The default value is <code>"YES"</code>.
	 * The literals are from the enumeration {@link org.quality4spl.fm.cvm.DeviationPermission}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Allow Regrouping</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Allow Regrouping</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #setAllowRegrouping(DeviationPermission)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getDeviationAttributeSet_AllowRegrouping()
	 * @model default="YES"
	 * @generated
	 */
	DeviationPermission getAllowRegrouping();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowRegrouping <em>Allow Regrouping</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Allow Regrouping</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #getAllowRegrouping()
	 * @generated
	 */
	void setAllowRegrouping(DeviationPermission value);

	/**
	 * Returns the value of the '<em><b>Allow Reordering</b></em>' attribute.
	 * The default value is <code>"YES"</code>.
	 * The literals are from the enumeration {@link org.quality4spl.fm.cvm.DeviationPermission}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Allow Reordering</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Allow Reordering</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #setAllowReordering(DeviationPermission)
	 * @see org.quality4spl.fm.cvm.CvmPackage#getDeviationAttributeSet_AllowReordering()
	 * @model default="YES"
	 * @generated
	 */
	DeviationPermission getAllowReordering();

	/**
	 * Sets the value of the '{@link org.quality4spl.fm.cvm.DeviationAttributeSet#getAllowReordering <em>Allow Reordering</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Allow Reordering</em>' attribute.
	 * @see org.quality4spl.fm.cvm.DeviationPermission
	 * @see #getAllowReordering()
	 * @generated
	 */
	void setAllowReordering(DeviationPermission value);

} // DeviationAttributeSet
